Data processing means



June 11, 1968 N. s. PRYwEs ETAI- 3,338,331

DATA PROCESSING MEANS 19 Sheets-Sheet 1 Filed Deo. 3l, 1962 will; wg

June ll, 1968 N. s. PRYwf-:s ET AL 3388,38I

DATA PROCESSING MEANS Filed Dec. 5l. 1962 19 Sheets-Sheet 2 DE 5CH/P7012 25am/PMM LDJI bei l 105 l 12.I 119 I 192,] n? @MJD/.1 @gin/4,11%]

K5 ys SUPEPF/L o Mul. T/- Assoc/A /DN AREA BYQLL June ll, 1968 N. s. PRYwi-:s ET AL 3,388,381

DATA PROCESSING MEANS Filed Dec. 3l. 1962 19 Sheets-Sheet 3 F540 17a/w #v4/asf ,4008555 /5 CoA/74Min w 2/ AMY J any, Je.

Bgaa

June ll, 1968 Filed Dec. 3l.

N. S1 PRYWES ET Al- DATA PROCESSING MEANS 19 Sheets-Sheet 4 YES 7 raffle Y June ll, 1968 N. s. Pnvwes ET AL 3,388,381

DATA PROCESSING MEANS Filed Dec. 3l, 1962 19 Sheets-Sheet 5 l Yes Repmcf N015 A Mp Y/ Arroewe Y June Filed Dec.

N. s. PRYwEs ET AL DATA PROCESSTNG MEANS 19 Sheets-Sheet 6 40m A/cf Z9 7,2/5 MU Key (Maya/f) /a )We riff YES Yes;

I /V VEN TOS.

June 1l, 1968 N. s. PRYwEs ET AL 3,338,381

DATA PROCESSING MEANS Filed Dec. 31. 1962 19 Sheets-Sheet 'P No4# 5. Pkw/55 :mm/ez. unf/N Hale/ey J mmv, Ja.

Mal-)SIW June ll, 1968 Filed Dec. 5l, 1962 N. S PRYWES ET Al- DATA PROCESSING MEANS 19 Sheets-Sheet 8 W- fu June 11, 1968 N. s. PRYwEs ET Al- DATA PROCESSING MEANS 19 Sheets-Sheet 9 Filed Dec. 31, 1952 n S ui* u kul En SN June ll, 1968 N. s PRYWES ET AL DATA PROCESSING MEANS 19 SheetsSheet l0 Filed Dec. 3l,

MwJ/-L/T MEMMV l June 1l, 1968 N. s, PRYwEs ET AL 3,338,381

DATA PROCES S ING MEANS Filed Dec. 3l, 1962 19 Sheets-5heet 1x Y MHK "JUMP" M5 MM5 gio] mvo Wwe Lvo/ms n QMQFLQW MPF( JUMP nu@ June 1l, 1968 N. s. PRYwEs ET AL 3,388,381

DATA PROCESSING MEANS Filed Dec. 31, 1963 19 Sheets-Sheet l2 N0 "Sme: 1re/fr "P (WWC, MMI; (Mlm-Mme NOAH 5. PAQ/W55 .SAMUEL L/rw//V June 11, 1968 N. s. PRYWES ET AL 3,388,381

DATA PROCESSING MEANS Filed Dec. 51, 1962 19 Sheets-Sheet 15 4770.2 ME Y June 11, 1968 N. s. PRYwEs ET AL 3,388,381

DATA PROCESSING MEANS Filed Dec. 3l, 1962 19 Sheets-Sheet 1l June 11, 1968 N, 5 PRYWES ET AL DATA PROCEssNG MEANS 19 Sheets-Sheet 15 Filed Dec. 31, 1962 BY HARRY J GWV, Je.

6 7 Tak/ve v June 11, 1968 N. s PRYwEs ET AI. 3,388,381

DATA PROCES S ING MEANS I IV nwe/mw I Pocf55/N6 I I I I June l1, 1968 N. s. PRYWES ETAL 3,388,381

DATA PROCES S ING MEANS Filed Dec. 3l, 1962 19 Sheets'Sheet 18 hun I/vPar Jy/Ya/wA//z coM/A/A/aA/AL 0e/c C l l O I l To Oar/uf YA/c/VaA//z MVM/70H6.

HTTQRNEY June 11, 1968 N. s. PRYwr-:s e'r Al. 3,388,331

DATA PROCESSING MEANS 19 Sheets-Sheet 19 Filed Dec. 3l. 1962 ARME uw Nm XE@ United States Patent O 3,388,381 DATA PRUCESSING MEANS Noah S. Prywes, Cynwyd, Samuel Litwin, Philadelphia,

and Harry J. Gray, Jr., Springfield, Pa., assignors, by

mesne assignments, to the United States of America as represented by the Secretary f the Navy Filed Dec. 31, 1962, Ser. No. 248,825 Claims. (Cl. S40-172.5)

The invention described herein may be manufactured and used by or for the Government of the United States of America for governmental purposes without the payment of any royalties thereon or therefor.

This invention relates to improvements in computer systems, and more particularly pertains to data processing means operating with an associative memory rather than an addressable memory.

While a computer can store large amounts of information, there remains a need for mechanizing the conversation by which the computer conveys the appropriate intelligence in response to many human inquiries made simultaneously from several different origin consoles. Optimally, a large expandable vocabulary wherein the human operators use a restricted language that can be divided into command and descriptive languages, the vocabularies of which are made of words that must have unique meanings in given contexts, will permit the smooth and easy flow of conversation The object of this invention is to provide an information retrieval system wherein retrieval requests can be processed by giving a partial description of the desired items; wherein there is immediate response t0 single retrieval requests and their processing on a real-time basis; and wherein their is immediate response to a tile change, add or delete orders, again on a real-time basis.

Another object is to provide means to mechanize, for performance by a computer, tasks hitherto performed by humans. For example, the Navy Supply Technical Infor mation File is currently being updated quarterly mechanically, while personnel keep notes about changes in the file between updatings. Along with this partly mechanized system, the manual search involved in retrieval is generally lengthy and laborious, involving large numbers and varieties of documents. Considerable savings in time resulting from more etiicient maintenance of stocks could be obtained through complete mechanization. The mechanized system of this invention allows clerks to introduce changes, additions and deletions as well as interrogate the tile on a real-time basis. Interrogation is based on, for instance, partial description of an electronic or a mechanical part and results in retrieval of other associated information.

A further object is to provide improved data processing and retrieval systems for collections such as personnel files, customers les, and the Armed Services Technical Information Agency system.

Another object is to meet the need for real-time tile retrieval addition and deletion that is also common to articial intelligence problems where the completion of such processes is necessary before the next step in the procedure is undertaken.

Still another object is to increase eiciency, in terms of speed of processing of the problem and cost, and to facilitate communication with the computer, in a system employing less than ten thousand transistors and associated circuitry with mass memory devices connected to it.

Other objects and many of the attendant advantages of this invention will be readily appreciated as the same becomes better understood by reference to the following 3,388,381 Patented June 11, 1968 ICC detailed description when considered in connection with the accompanying drawings wherein:

FIG. la diagrams the construction of a data catena;

FIG. lb diagrams the construction of an associative catena;

FIGS. l-2 diagrams the multi-list organization for a tile with l06 items, with each item described by 15 fields and 10 exclusive descriptors per field;

FIG. 3 diagrams a summary of the multi-list organization;

FIG. 4 is a block diagram of the system for descending the tree and testing the existence of the relevant list;

FIG. 5 is a block diagram of the search subroutine system;

FIGS. 6 and 7 show a block diagram of the shift-left subroutine system;

FIG. 8 is a schematic diagram of a descriptor language with two strata, f attributes and dk exclusive values per attribute (lgkfh FIG. 9 is a schematic diagram of a first order renaming system, wherein p is the number of unused columns in the description;

FIG. 10 is a schematic diagram of a second order renaming system;

FIG. l1 is a ow chart of the attribute assignement;

FIG. 12 is a block diagram of the memory synchronizer system;

FIG. 13 is a diagram of the read item flow system;

FIGS. 14 and 15 show a diagram of the store item ilow system;

FIG. 16 is a diagram of the delete item ilow system;

FIG. 17 is a block diagram of the multi-list central processor system;

FIG. 1S is a schematic showing of the means providing tiow of instructions and data in the interpretive mode;

FIG. 19 is a block diagram of the retrieval system;

FIG. 20 is a block diagram of a synchronous sequential system; and

FIG. 21 is a block diagram showing the means for finding an item when given its exact description.

The desired efficiency and human-machine communication improvements are achieved by the use of an associative memory for storing, deleting and reading of information without requiring addressing; by the use of a hierarchy of memories varying in speed and storage capacity; by the use of a processor organization and timing that minimize instruction retrieval and housekeeping routine times; by the use of a processor list type instruction where a single instruction processes an item of data having a varying length; and by built-in means for the automatic retrieval of programs that can be retrieved by name, allowing for much greater vocabulary and for greater ease of communication with the computer.

Part I herein describes the associative memory and the organization of a hierarchy of memories. The complexity of requests made of an associative memoiy led to the use herein of an addressable memory in which the associative memory is simulated. The multi-list techniques described in Part I provide the means for such a simulation. The multi-list organization of the memory has two parts, a Tree structure where the nodes of the tree consist of memory locations storing descriptors and addresses of other nodes, the addresses providing the branches between the nodes. Successive addressing leads from a single entry point of the tree to an appropriate exit that corresponds to a list defined by descriptors mentioned in the retrieval request. The second part of the multi-list memory is a multi-association area where the tile, organized in lists, is actually stored. This area is criss-crossed by the lists originating from the tree mentioned before. 

2. AUTOMATIC PROGRAMMING MEANS, BASED ON THE INTERPRETIVE MODE, COMPRISING A PLURALITY OF NEW DATA INPUTS HAVING DATA AND ASSOCIATIVE WORDS ORGANIZED INTO ITEMS, THE ASSOCIATIVE WORDS COMPRISING A DESCRIPTOR AND BLANK SPACES FOR THE ADDRESSES, SUCH DESCRIPTORS BEING IN NATURAL LANGUAGE, SAID NEW DATA INPUT INCLUDING AUTOMATIC MEANS FOR THE ASSIGNMENT OF MACHINE CODES FOR THE CORRESPONDING DESCRIPTORS, AND FURTHER INCLUDING BLANKS WHERE LINKING ADDRESSES ARE REQUIRED, A PSEUDO-LANGUAGE INPUT OF A PLURALITY OF PROGRAMS DEFINING NEW WORDS, EACH PROGRAM HAVING A PLURALITY OF INSTRUCTION ITEMS AND FURTHER INCLUDING BLANKS WHERE LINKING ADDRESSES ARE REQUIRED, SELECTED PROGRAMS BEING RECURSIVE, A COMMAND-WORD AND OPERAND PSEUDO-LANGUAGE PROGRAM INPUT COMPRISING A PLURALITY OF COMMAND WORDS EACH ACCOMPANIED BY AT LEAST ONE OPERAND, THE COMMAND WORDS EACH BEING A WORD IN THE VOCABULARY OF THE PSEUDO-LANGUAGE AND THE NAMES OF OPERANDS EACH BEING WORDS IN THE VOCABULARY OF THE DESCRIPTORS, TREE GROWING PROGRAMS HAVING DECODING MEANS FOR TRANSLATING A NAME INTO A STORAGE LOCATION, MEANS FOR TRANSMITTING SAID NEW DATA INPUT AND SAID PSEUDO-LANGUAGE INPUT TO SAID TREE GROWING PROGRAMS, AUTOMATIC MEMORY SPACE ASSIGNMENT MEANS INCLUDING A SYNCHRONIZER FOR PROVIDING LINKING ADDRESSES, SAID SPACE ASSIGNMENT MEANS BEING FED BY SAID TREE GROWING PROGRAM AND FURTHER INCLUDING MEANS FOR INSERTING ADDRESSES IN SUCH BLANKS, AN EXECUTIVE PROGRAM COUPLED TO SAID COMMAND WORD AND OPERAND PSEUDO-LANGUAGE INPUT BY MEANS FOR SELECTING SENTENCES SEQUENTIALLY FROM SAID PROGRAM, SAID EXECUTIVE PROGRAM INCLUDING MEANS FOR SEPARATING THE COMMAND FROM THE OPERAND NAMES, MEANS FOR INITIATING THE RETRIEVAL AND EXECUTION OF A PROGRAM CORRESPONDING TO THE COMMAND, AND MEANS FOR INSERTING THE NAMES OF THE OPERANDS IN THE PROGRAM, AND AN ASSOCIATIVE MEMORY FED BY SAID AUTOMATIC MEMORY SPACE ASSIGNMENT MEANS AND SAID EXECUTIVE PROGRAM, AND IN TURN FEEDING SAID EXECUTIVE PROGRAM, SAID ASSOCIATIVE MEMORY COMPRISING AT LEAST ONE DATA TREE COUPLED TO SAID AUTOMATIC MEMORY SPACE ASSIGNMENT MEANS AND FEEDING AT LEAST ONE MULTI-ASSOCIATION AREA, AT LEAST ONE PROGRAM TREE COUPLED TO SAID AUTOMATIC MEMORY SPACE ASSIGNMENT MEANS AND SAID EXECUTIVE PROGRAM AND FEEDING AT LEAST ONE MULTI-ASSOCIATION AREA, SAID LAST-NAMED MULTI-ASSOCIATION AREA BEING COUPLED TO SAID EXECUTIVE PROGRAM. 